import { createStore } from "vuex"; //导入createStore构造函数
export default createStore({
  state: {
    //Vuex的状态，实际上就是存数据的地方
    checkoutValue: 1,
  },
  getters: {
    //提供获取Vux状态的方式, 注意在组件中调用时getPerson是以属性的方式被访问
    getCheckoutValue(state) {
      return state.checkoutValue;
    },
  },
  mutations: {
    //提供直接操作Vuex的方法，注意mutations里的方法中不能有任何异步操做
    CheckoutValue(state, value) {
      //第一个参数state为Vuex状态；第二个参数为commit函数传来的值
      state.checkoutValue = value;
    },
  },
  actions: {
    //提供通过mutations方法来简介操作Vuex的方法
    setCheckoutValue(context, value) {
      //第一个参数context为上下文，提供一些方法；第二个参数为dispatch函数传来的值
      context.commit("CheckoutValue", value);
    },
  },
});
